﻿namespace Busconeitor.BusinessLayer.Util
{
    using System.Text.RegularExpressions;

    public class ExpresionRegular
    {
        /// <summary> 
        /// Esta ER permite obtener el texto, que hay entre la etiqueta de apertura y de cierre
        /// de una etiqueta A
        /// Grupo 1: contiene el texto de la etiqueta A
        /// </summary>
        public static readonly string TagHtmlA3 = "<a[^>]*>(.*?)</a>";

        /// <summary> 
        /// Esta ER permite obtener el texto, que hay entre la etiqueta de apertura y de cierre
        /// de una etiqueta H
        /// Grupo 1: contiene el texto de la etiqueta H
        /// </summary>
        public static readonly string TagHtmlH = "<h[^>]*>(.*?)</h[^>]*>";

        /// <summary> 
        /// Esta ER permite obtener el texto, que hay entre la etiqueta de apertura y de cierre
        /// de una etiqueta I
        /// Grupo 1: contiene el texto de la etiqueta I
        /// </summary>
        public static readonly string TagHtmlI = "<i[^>]*>(.*?)</i>";

        /// <summary> 
        /// Esta ER permite obtener el texto, que hay entre la etiqueta de apertura y de cierre
        /// de una etiqueta P
        /// Grupo 1: contiene el texto de la etiqueta P
        /// </summary>
        public static readonly string TagHtmlP = "<p[^>]*>(.*?)</p>";

        /// <summary> 
        /// Esta ER permite obtener el texto, que hay entre la etiqueta de apertura y de cierre
        /// de una etiqueta B
        /// Grupo 1: contiene el texto de la etiqueta B
        /// </summary>
        public static readonly string TagHtmlB = "<b[^>]*>(.*?)</b>";

        /// <summary>
        /// Esta funcion se utiliza para obtener un Matcher enviando una expresion
        /// regular y la cadena de texto como parametros
        /// </summary>
        /// <param name="er">Es un String que representa la expresion regular</param>
        /// <param name="cadena">Es un String sobre el cual se desea hacer el match</param>
        /// <returns>Matcher</returns>
        public static Match ObtenerMatcher(string er, string cadena)
        {
            var regex = new Regex(er, RegexOptions.None);
            var match = regex.Match(cadena);

            return match;
        }
    }
}
